<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js</title>
    <script>
        // 声明函数

        function showMsg(msg){
            alert("显示信息为："+msg);
        }

        // 调用函数
        showMsg("jjjjjjjjj")

        // 变量接收函数的返回值
        var fff = showMsg("hello");
        // 在控制台输出函数的返回值
        console.info(fff)

        // 对象创建的方式创建函数
        var showMsg2 = new Function("msg","alert(\"显示信息为：\"+msg);");

        // 调用函数
        showMsg2("sjdlkfjlaksdjfdlkjasldkjfk");

        var showMsg3 = function(msg){
            alert("显示信息为："+msg);
        }

        // 调用函数
        showMsg3("566465465465465465");

        // 使用函数定义一个对象Student
        function Student(stuName,stuSex){
            // 成员变量属性定义
            this.stuName = stuName;
            this.stuSex = stuSex;

            // 行为定义
            this.doStuding = function () {
                alert(this.stuName + " is studing...")
            }
            // 使用外部函数定义行为
            this.showMe = showMsg3;
        }

        // 创建一个对象
        var stu0 = new Student("张三","男");
        // 给Student实例添加一个学号的属性,并且进行赋值
        //stu0.stuNum = "15001"; // 推荐使用原型法动态添加属性和行为
        //stu0.__proto__.stuNum = "15001";
        Student.prototype.stuNum = "15001";
        // 调用stu0的行为
        stu0.doStuding();

        // 调用行为
        stu0.showMe(stu0.stuNum);

        var stu1 = new Student("李四","男");
        // 调用行为
        stu1.showMe(stu1.stuNum);
    </script>
</head>
<body>

</body>
</html>